package org.feifei.user.service;

import org.feifei.basic.service.BaseService;
import org.feifei.basic.util.CommonResult;
import org.feifei.user.domain.LoginInfo;
import org.feifei.user.dto.LoginDTO;

import java.util.Map;

/**
 * LoginInfo的 Service层接口
 */
public interface LoginInfoService extends BaseService<LoginInfo> {

    /**
     * 后台管理网站的登陆方法
     * 判断当前登录的账户，账号密码是否存在
     * 状态是否可用
     * @param loginDTO
     */
    CommonResult<Map<String, Object>> login(LoginDTO loginDTO);

    /**
     * 微信登录方法，当用户扫码后，进行回调该请求，
     * 判断该用户是否绑定了User，同时响应给前端
     * @param map
     * @return
     */
    CommonResult WxUserLogin(Map<String, String> map);

    /**
     * 当用户不是第一次绑定信息时，此时需要判断该用户是否以前注册过，如果有就进行绑定
     * 如果没有，通过用户现有的信息重新给他创建一个loginInfo的信息和User表的信息
     * @param map
     * @return
     */
    CommonResult wxUserBinder(Map<String, String> map);

    /**
     * 通过短信登录
     * @param map
     * @return
     */
    CommonResult accountByPhone(Map<String, Object> map);
}
